a11y: Emit child notification when toplevels get hidden
authorMatthias Clasen <mclasen@redhat.com>
Sat, 24 Oct 2020 17:17:20 +0000 (13:17 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 24 Oct 2020 17:17:20 +0000 (13:17 -0400)
When a toplevel window gets hidden (and not destroyed),
the frontend code set the HIDDEN state, and we need to
emit child notification when that happens.

gtk/a11y/gtkatspicontext.c

index f223d13062865400ab5af6d6ccdff69dbe48b126..0b7c5eeb93830bed69f1e8c81ce28d5b9defdcaa 100644 (file)
@@ -867,7 +867,13 @@ gtk_at_spi_context_state_change (GtkATContext                *ctx,
                                           GTK_ACCESSIBLE (widget));
         }
       else
-        g_warning ("Setting GTK_ACCESSIBLE_STATE_HIDDEN on toplevels is not supported");
+        {
+          gtk_at_spi_root_child_changed (self->root,
+                                         hidden ? GTK_ACCESSIBLE_CHILD_STATE_REMOVED
+                                                : GTK_ACCESSIBLE_CHILD_STATE_ADDED,
+                                         G_MAXUINT,
+                                         widget);
+        }
     }
 
   if (changed_states & GTK_ACCESSIBLE_STATE_CHANGE_BUSY)